home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PWAEF22.ZIP
/
EFLAG.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-05-11
|
11KB
|
923 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN011
Boolean BOOLEAN012
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String TSTRING007(1)
String TSTRING008(1)
String TSTRING009(1)
String TSTRING010(1)
String STRING011
String TSTRING012(1)
String TSTRING013(1)
String TSTRING014(1)
String TSTRING015(1)
String STRING016
String TSTRING017(1)
String STRING018
String STRING019
String STRING021
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING034
String STRING035
Byte TBYTE001(1)
Byte BYTE002
Byte BYTE003
Byte TBYTE004(1)
Byte BYTE005
Byte BYTE006
Byte BYTE007
Byte BYTE008
Byte BYTE009
Byte BYTE010
Byte BYTE011
Byte BYTE012
Byte BYTE013
Byte BYTE014
Byte BYTE015
Byte BYTE016
Byte BYTE017
Byte BYTE021
Byte BYTE024
Byte BYTE026
Byte BYTE027
Byte BYTE028
Byte BYTE030
Int INT004
Declare Function FUNCTION001() String
Declare Function FUNCTION002() String
Declare Function FUNCTION003() Boolean
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003()
Declare Procedure PROC004()
Declare Procedure PROC005()
Declare Procedure PROC006(Int INT001, Int INT002, Int INT003)
Declare Procedure PROC007()
Declare Procedure PROC008(String STRING020)
Declare Procedure PROC009()
Declare Procedure PROC010(Byte BYTE022, Byte BYTE023, String STRING023, Var Boolean BOOLEAN010)
Declare Procedure PROC011(Byte BYTE018, Var Byte BYTE019, Var Byte BYTE020, Var Boolean BOOLEAN008, String STRING022, Var Boolean BOOLEAN009)
Declare Procedure PROC012()
Declare Procedure PROC013()
Declare Procedure PROC014(Boolean BOOLEAN013, Byte BYTE029)
;------------------------------------------------------------------------------
PROC001()
PROC004()
PROC005()
End
;------------------------------------------------------------------------------
Procedure PROC005()
Byte BYTE012
Byte BYTE013
Byte BYTE014
String STRING019
Boolean BOOLEAN004
Boolean BOOLEAN005
PROC002()
STRING019 = ""
BYTE012 = 1
BYTE013 = 1
PROC006(1, BYTE012, BYTE013)
BOOLEAN004 = 0
:LABEL001
If (BOOLEAN004) Goto LABEL005
Delay BYTE008
BYTE014 = Asc(Inkey())
Select Case (BYTE014)
Case 82, 54, 62, 93
BYTE013 = BYTE012
Inc BYTE012
If (BYTE012 > BYTE003) BYTE012 = 1
PROC006(1, BYTE012, BYTE013)
Case 76, 52, 9, 60, 91
BYTE013 = BYTE012
Dec BYTE012
If (BYTE012 < 1) BYTE012 = BYTE003
PROC006(1, BYTE012, BYTE013)
Case 85, 56
BYTE010 = GetY()
BYTE011 = BYTE010
STRING019 = FUNCTION001()
If (STRING019 <> "") Then
PROC008(STRING019)
If (!BOOLEAN003 && !BOOLEAN004) Then
Print Chr(27) + "[u"
ClrEol
Goto LABEL002
Endif
BOOLEAN003 = 0
:LABEL002
PROC002()
Endif
STRING019 = ""
BYTE012 = 1
BYTE013 = 1
PROC006(1, BYTE012, BYTE013)
Case 68, 50, 32
If ((BYTE014 == 32) && (BOOLEAN002 == 0)) Goto LABEL004
BYTE010 = GetY()
BYTE011 = 0
STRING019 = FUNCTION002()
If (STRING019 <> "") Then
PROC008(STRING019)
If (!BOOLEAN003 && !BOOLEAN004) Then
Print Chr(27) + "[u"
ClrEol
Goto LABEL003
Endif
BOOLEAN003 = 0
:LABEL003
PROC002()
Endif
STRING019 = ""
BYTE012 = 1
BYTE013 = 1
PROC006(1, BYTE012, BYTE013)
:LABEL004
Case 33
PROC012()
Case 63
If (!BOOLEAN003 && !BOOLEAN004) Then
PROC013()
Else
BOOLEAN003 = 0
Endif
Case 13
PROC010(1, BYTE012, STRING019, BOOLEAN004)
Case 27
If (BOOLEAN001) Then
Print Chr(27) + "[u"
ClrEol
KbdStuff "N"
BOOLEAN004 = 1
Endif
PROC011(1, BYTE012, BYTE013, BOOLEAN004, Chr(BYTE014), BOOLEAN005)
Case BOOLEAN005
PROC006(1, BYTE012, BYTE013)
If (BOOLEAN001) PROC010(1, BYTE012, STRING019, BOOLEAN004)
BOOLEAN004 = BOOLEAN001
End Select
Goto LABEL001
:LABEL005
EndProc
;------------------------------------------------------------------------------
Procedure PROC008(String STRING020)
Byte BYTE015
Byte BYTE016
Byte BYTE017
String STRING021
Boolean BOOLEAN006
Boolean BOOLEAN007
BYTE015 = 1
BYTE016 = 1
PROC003()
PROC006(2, BYTE015, BYTE016)
BOOLEAN006 = 0
:LABEL006
If (BOOLEAN006) Goto LABEL008
Delay BYTE008
STRING021 = Inkey()
BYTE017 = Asc(STRING021)
Select Case (BYTE017)
Case 85, 56
PROC009()
STRING020 = FUNCTION001()
If (STRING020 == "") Then
BOOLEAN006 = 1
Endif
Case 68, 50, 32
If ((BYTE017 == 32) && (BOOLEAN002 == 0)) Goto LABEL007
PROC009()
STRING020 = FUNCTION002()
If (STRING020 == "") Then
BOOLEAN006 = 1
Endif
:LABEL007
Case 82, 54
BYTE016 = BYTE015
Inc BYTE015
If (BYTE015 > BYTE006) BYTE015 = 1
PROC006(2, BYTE015, BYTE016)
Case 76, 52
BYTE016 = BYTE015
Dec BYTE015
If (BYTE015 < 1) BYTE015 = BYTE006
PROC006(2, BYTE015, BYTE016)
Case 72
BYTE016 = BYTE015
BYTE015 = 1
PROC006(2, BYTE015, BYTE016)
Case 69
BYTE016 = BYTE015
BYTE015 = BYTE006
PROC006(2, BYTE015, BYTE016)
Case 27
If (BOOLEAN001) Then
BOOLEAN006 = BOOLEAN001
PROC009()
Print Chr(27) + "[u"
ClrEol
Endif
Case 33
PROC012()
Case 63
If (!BOOLEAN003 && !BOOLEAN006) Then
PROC013()
Else
BOOLEAN003 = 0
Endif
Case 13
PROC010(2, BYTE015, STRING020, BOOLEAN006)
PROC011(2, BYTE015, BYTE016, BOOLEAN006, STRING021, BOOLEAN007)
Case BOOLEAN007
PROC006(2, BYTE015, BYTE016)
If (BOOLEAN001) PROC010(2, BYTE015, STRING020, BOOLEAN006)
BOOLEAN006 = BOOLEAN001
End Select
Goto LABEL006
:LABEL008
EndProc
;------------------------------------------------------------------------------
Procedure PROC011(Byte BYTE018, Var Byte BYTE019, Var Byte BYTE020, Var Boolean BOOLEAN008, String STRING022, Var Boolean BOOLEAN009)
Byte BYTE021
BYTE021 = 1
Select Case (BYTE018)
Case 1
:LABEL009
If (BOOLEAN008) Goto LABEL010
If (Lower(STRING022) == Lower(TSTRING009(BYTE021))) Then
If ((Lower(TSTRING010(BYTE021)) == "nstop") && Exist(PPEPath() + "YESNO.CFG")) Then
Print Chr(13)
ClrEol
Print Chr(13)
If (FUNCTION003()) Then
BYTE020 = BYTE019
BYTE019 = BYTE021
BOOLEAN008 = 1
BOOLEAN009 = 1
KbdStuff "NS"
Else
PROC002()
PROC006(1, BYTE019, BYTE019)
BOOLEAN008 = 0
BOOLEAN009 = 0
Goto LABEL010
Endif
Else
BYTE020 = BYTE019
BYTE019 = BYTE021
BOOLEAN008 = 1
BOOLEAN009 = 0
Endif
Else
Inc BYTE021
If (BYTE021 > BYTE003) Goto LABEL010
Endif
Goto LABEL009
:LABEL010
Case 2
:LABEL011
If (BOOLEAN008) Goto LABEL013
If ((Asc(STRING022) == 27) && (TSTRING015(BYTE021) == "quit")) Then
BYTE020 = BYTE019
BYTE019 = BYTE021
BOOLEAN008 = 1
Goto LABEL012
Endif
If (Lower(STRING022) == Lower(TSTRING014(BYTE021))) Then
BOOLEAN008 = 1
BYTE020 = BYTE019
BYTE019 = BYTE021
Goto LABEL012
Endif
Inc BYTE021
If (BYTE021 > BYTE006) Goto LABEL013
:LABEL012
Goto LABEL011
End Select
:LABEL013
EndProc
;------------------------------------------------------------------------------
Procedure PROC010(Byte BYTE022, Byte BYTE023, String STRING023, Var Boolean BOOLEAN010)
String STRING024
BOOLEAN010 = 1
Select Case (BYTE022)
Case 1
STRING024 = Lower(TSTRING010(BYTE023))
Print Chr(13)
ClrEol
Print Chr(13)
Select Case (STRING024)
Case "cont"
KbdStuff Chr(13)
Case "flag"
If (STRING023 <> "") Then
KbdStuff "FL " + STRING023
Else
KbdStuff "FL"
Endif
Case "view"
If (STRING023 <> "") Then
KbdStuff "V " + STRING023
Else
KbdStuff "V"
Endif
Case "nstop"
If (FUNCTION003()) Then
KbdStuff "NS"
Else
PROC002()
PROC006(1, BYTE023, BYTE023)
BOOLEAN010 = 0
Endif
Case "stop"
KbdStuff "N"
Case Else
SaveScrn
DispStr STRING024
BOOLEAN003 = 1
End Select
Case 2
STRING024 = Lower(TSTRING015(BYTE023))
If (STRING024 == "flag") Then
PROC009()
Print Chr(27) + "[u"
ClrEol
KbdStuff "FL " + STRING023
End
Goto LABEL014
Endif
If (STRING024 == "view") Then
PROC009()
Print Chr(27) + "[u"
ClrEol
KbdStuff "V " + STRING023
SaveScrn
End
Goto LABEL014
Endif
If (STRING024 == "quit") Then
PROC009()
Print Chr(27) + "[u"
ClrEol
Goto LABEL014
Endif
PROC009()
Print Chr(27) + "[u"
ClrEol
SaveScrn
DispStr STRING024 + " " + STRING023
Print Chr(27) + "[u" + Chr(27) + "[" + String(U_PageLen - 1) + "A"
RestScrn
BOOLEAN003 = 1
StartDisp 0
StartDisp 2
End Select
:LABEL014
EndProc
;------------------------------------------------------------------------------
Procedure PROC009()
Print Chr(27) + "[u" + Chr(27) + "[" + String(BYTE010 - BYTE009) + "A"
Print STRING018 + Chr(13)
EndProc
;------------------------------------------------------------------------------
Function FUNCTION001() String
String STRING026
String STRING027
STRING026 = ""
While (BYTE011 > 0) Do
Dec BYTE011
If (TSTRING017(BYTE011) <> "") Then
PROC007()
STRING026 = TSTRING017(BYTE011)
Break
Endif
EndWhile
FUNCTION001 = STRING026
EndFunc
;------------------------------------------------------------------------------
Function FUNCTION002() String
String STRING028
String STRING029
STRING028 = ""
While (BYTE011 < BYTE010) Do
Inc BYTE011
If (TSTRING017(BYTE011) <> "") Then
PROC007()
STRING028 = TSTRING017(BYTE011)
Break
Endif
EndWhile
FUNCTION002 = STRING028
EndFunc
;------------------------------------------------------------------------------
Procedure PROC007()
Print Chr(27) + "[u" + Chr(27) + "[" + String(BYTE010 - BYTE011) + "A"
BYTE009 = BYTE011
STRING018 = ScrText(1, BYTE009, BYTE007, 1)
Print STRING016 + StripAtx(STRING018) + Chr(13)
EndProc
;------------------------------------------------------------------------------
Procedure PROC004()
String STRING029
BYTE011 = 1
While (BYTE011 > 0) Do
ScrFile BYTE011, STRING029
If (BYTE011 <> 0) Then
TSTRING017(BYTE011) = STRING029
Inc BYTE011
Endif
EndWhile
EndProc
;------------------------------------------------------------------------------
Procedure PROC006(Int INT001, Int INT002, Int INT003)
Print Chr(27) + "[u" + Chr(13)
If (INT001 == 1) Then
Forward TBYTE001(INT003) - 1
Print TSTRING007(INT003)
Else
Forward TBYTE004(INT003) - 1
Print TSTRING012(INT003)
Endif
Print Chr(13)
If (INT001 == 1) Then
Forward TBYTE001(INT002) - 1
Print TSTRING008(INT002)
Else
Forward TBYTE004(INT002) - 1
Print TSTRING013(INT002)
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
Byte BYTE024
DefColor
Print Chr(27) + "[u" + Chr(13)
ClrEol
Print Chr(13) + Chr(27) + "[s"
Print STRING011
TBYTE004(1) = GetX()
For BYTE024 = 1 To BYTE006
Print TSTRING012(BYTE024) + Space(BYTE005)
TBYTE004(1 + BYTE024) = TBYTE004(BYTE024) + Len(StripAtx(TSTRING012(BYTE024)))
Next
ClrEol
DefColor
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
Int INT004
Print Chr(27) + "[s"
Print STRING006
TBYTE001(1) = GetX()
For INT004 = 1 To BYTE003
TBYTE001(INT004 + 1) = TBYTE001(INT004) + Len(StripAtx(TSTRING007(INT004)))
Print TSTRING007(INT004) + Space(BYTE002)
Next
EndProc
;------------------------------------------------------------------------------
Procedure PROC001()
String STRING030
String STRING031
String STRING032
String STRING033
Byte BYTE025
WrUNet PcbNode(), "Q", UN_Name(), UN_City(), "EFLAG: Viewing file dirs", " "
GetUser
If (U_PageLen) Goto LABEL015
End
Goto LABEL016
:LABEL015
Redim TSTRING017, U_PageLen + 1
:LABEL016
STRING030 = PPEPath() + "EFLAG.CFG"
STRING031 = PPEPath() + "PROMPT1.CFG"
STRING032 = PPEPath() + "PROMPT2.CFG"
If (Exist(STRING030)) Then
STRING016 = ReadLine(STRING030, 1)
BYTE007 = S2I(ReadLine(STRING030, 2), 10)
If (Lower(ReadLine(STRING030, 3)) == "yes") Then
BOOLEAN001 = 1
Else
BOOLEAN001 = 0
Endif
If (Lower(ReadLine(STRING030, 4)) == "yes") Then
BOOLEAN002 = 1
Else
BOOLEAN002 = 0
Endif
BYTE008 = S2I(ReadLine(STRING030, 5), 10)
Else
STRING016 = "@X4F"
BYTE007 = 79
BOOLEAN001 = 1
BOOLEAN002 = 0
BYTE008 = 1
Endif
If (Exist(STRING031)) Then
FOpen 1, STRING031, 0, 2
FDefIn 1
FDGet STRING006
FDGet STRING033
BYTE002 = S2I(STRING033, 10)
FDGet STRING033
BYTE003 = S2I(STRING033, 10)
If (BYTE003) Then
Redim TSTRING007, BYTE003 + 1
Redim TSTRING008, BYTE003 + 1
Redim TSTRING009, BYTE003 + 1
Redim TSTRING010, BYTE003 + 1
Redim TBYTE001, BYTE003 + 1
For BYTE025 = 1 To BYTE003
FDGet TSTRING007(BYTE025)
FDGet TSTRING008(BYTE025)
FDGet TSTRING009(BYTE025)
FDGet TSTRING010(BYTE025)
Next
FClose 1
Else
End
Endif
Else
STRING006 = "@X08-[@X0FEFLAG 2.11@X08]-[@X0F@MINLEFT@ @X07min left@X08] @X07"
BYTE002 = 0
BYTE003 = 5
Redim TSTRING007, 6
Redim TSTRING008, 6
Redim TSTRING009, 6
Redim TSTRING010, 6
Redim TBYTE001, 6
TSTRING007(1) = "@X08 Cont @X07"
TSTRING008(1) = "@X4F CONT @X07"
TSTRING009(1) = "C"
TSTRING010(1) = "cont"
TSTRING007(2) = "@X08 Flag @X07"
TSTRING008(2) = "@X4F FLAG @X07"
TSTRING009(2) = "F"
TSTRING010(2) = "flag"
TSTRING007(3) = "@X08 View @X07"
TSTRING008(3) = "@X4F VIEW @X07"
TSTRING009(3) = "V"
TSTRING010(3) = "view"
TSTRING007(4) = "@X08 NStop @X07"
TSTRING008(4) = "@X4F NSTOP @X07"
TSTRING009(4) = "N"
TSTRING010(4) = "nstop"
TSTRING007(5) = "@X08 Stop @X07"
TSTRING008(5) = "@X4F STOP @X07"
TSTRING009(5) = "S"
TSTRING010(5) = "stop"
Endif
If (Exist(STRING032)) Then
FOpen 1, STRING032, 0, 2
FDefIn 1
FDGet STRING011
FDGet STRING033
BYTE005 = S2I(STRING033, 10)
FDGet STRING033
BYTE006 = S2I(STRING033, 10)
If (BYTE006) Then
Redim TSTRING012, BYTE006 + 1
Redim TSTRING013, BYTE006 + 1
Redim TSTRING014, BYTE006 + 1
Redim TSTRING015, BYTE006 + 1
Redim TBYTE004, BYTE006 + 1
For BYTE025 = 1 To BYTE006
FDGet TSTRING012(BYTE025)
FDGet TSTRING013(BYTE025)
FDGet TSTRING014(BYTE025)
FDGet TSTRING015(BYTE025)
Next
FClose 1
Else
End
Endif
Else
STRING011 = "@X08[@X0FFlag Cmds@X08] @X07"
BYTE005 = 0
BYTE006 = 3
Redim TSTRING012, 3
Redim TSTRING013, 3
Redim TSTRING014, 3
Redim TSTRING015, 3
Redim TBYTE004, 3
TSTRING012(1) = "@X08 Flag @X07"
TSTRING013(1) = "@X4F FLAG @X07"
TSTRING014(1) = "F"
TSTRING015(1) = "flag"
TSTRING012(2) = "@X08 View @X07"
TSTRING013(2) = "@X4F VIEW @X07"
TSTRING014(2) = "V"
TSTRING015(2) = "view"
TSTRING012(3) = "@X08 Quit @X07"
TSTRING013(3) = "@X4F QUIT @X07"
TSTRING014(3) = "Q"
TSTRING015(3) = "quit"
Endif
BOOLEAN003 = 0
RestScrn
ClrEol
EndProc
;------------------------------------------------------------------------------
Procedure PROC012()
String STRING034
STRING034 = "@X0FEnhanced Flag v2.2 by Drew [PWA]@X07"
DefColor
Print Chr(27) + "[u"
ClrEol
Print Chr(13)
Print Space((79 - Len(StripAtx(STRING034))) / 2) + STRING034
Delay 35
EndProc
;------------------------------------------------------------------------------
Procedure PROC013()
If (Exist(PPEPath() + "EFLAG.HLP")) Then
SaveScrn
DispFile PPEPath() + "EFLAG.HLP", 0
RestScrn
BOOLEAN003 = 1
Endif
EndProc
;------------------------------------------------------------------------------
Function FUNCTION003() Boolean
Byte BYTE026
Byte BYTE027
Byte BYTE028
Boolean BOOLEAN012
String STRING035
Boolean BOOLEAN013
STRING035 = PPEPath() + "YESNO.CFG"
STRING001 = ReadLine(STRING035, 1)
STRING002 = ReadLine(STRING035, 2)
STRING003 = ReadLine(STRING035, 3)
STRING004 = ReadLine(STRING035, 4)
STRING005 = ReadLine(STRING035, 5)
Print STRING001
BYTE028 = GetX()
BYTE026 = 0
PROC014(BYTE026, BYTE028)
BOOLEAN012 = 0
:LABEL017
If (BOOLEAN012) Goto LABEL018
BYTE027 = Asc(Inkey())
Delay 1
Select Case (BYTE027)
Case 13
BOOLEAN012 = 1
Case 76, 52, 85, 56
BYTE026 = !BYTE026
PROC014(BYTE026, BYTE028)
Case 82, 54, 68, 50
BYTE026 = !BYTE026
PROC014(BYTE026, BYTE028)
Case 89, 121
BYTE026 = 1
BOOLEAN012 = 1
PROC014(BYTE026, BYTE028)
Case 78, 110
BYTE026 = 0
BOOLEAN012 = 1
PROC014(BYTE026, BYTE028)
End Select
Goto LABEL017
:LABEL018
Print Chr(13)
ClrEol
Print Chr(13)
FUNCTION003 = BYTE026
EndFunc
;------------------------------------------------------------------------------
Procedure PROC014(Boolean BOOLEAN013, Byte BYTE029)
Byte BYTE030
Print Chr(13)
Forward BYTE029 - 1
If (BOOLEAN013) Then
Print STRING002 + STRING005
Else
Print STRING004
BYTE030 = GetX()
Print STRING003
Backup GetX() - BYTE030
Endif
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 6 End
; 15 ClrEol
; 156 Goto
; 170 Let
; 40 Print
; 92 If
; 1 DispFile
; 2 FOpen
; 2 FClose
; 2 StartDisp
; 1 GetUser
; 3 DefColor
; 4 Delay
; 6 Inc
; 3 Dec
; 11 KbdStuff
; 2 DispStr
; 1 WrUNet
; 1 Backup
; 5 Forward
; 4 SaveScrn
; 3 RestScrn
; 2 FDefIn
; 14 FDGet
; 21 Redim
; 1 ScrFile
; 14 EndProc
; 3 EndFunc
;
;
; ■ Functions used :
;
; 1 /
; 70 +
; 10 -
; 73 ==
; 7 <>
; 7 <
; 4 <=
; 6 >
; 8 >=
; 96 !
; 18 &&
; 27 ||
; 3 Len(
; 9 Lower()
; 3 Space()
; 35 Chr()
; 4 Asc()
; 4 StripAtx()
; 3 Inkey()
; 3 String()
; 7 PPEPath()
; 1 PcbNode()
; 10 ReadLine()
; 1 UN_Name()
; 1 UN_City()
; 5 Exist()
; 6 S2I()
; 5 GetX()
; 2 GetY()
; 1 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 3 While/EndWhile
; 35 If/Then or If/Then/Else
; 6 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------